import uuid

class UUIDUtils:
    """
    UUID工具类，提供各种UUID生成和处理方法
    """
    
    @staticmethod
    def generate_uuid():
        """
        生成一个无中横线、英文字符为大写的UUID
        
        Returns:
            str: 生成的UUID字符串，无中横线，大写字母
        """
        return str(uuid.uuid4()).replace('-', '').upper()
    
    @staticmethod
    def generate_uuid_with_prefix(prefix, separator='_'):
        """
        生成一个带前缀的无中横线、大写UUID
        
        Args:
            prefix: UUID前缀
            separator: 分隔符，默认为'_'
        
        Returns:
            str: 带前缀的UUID字符串
        """
        return f"{prefix}{separator}{UUIDUtils.generate_uuid()}"
    
    @staticmethod
    def validate_uuid(uuid_str):
        """
        验证一个字符串是否是有效的UUID
        
        Args:
            uuid_str: 要验证的UUID字符串
        
        Returns:
            bool: 是否是有效的UUID
        """
        try:
            # 尝试解析UUID，处理可能的格式问题
            test_str = uuid_str.lower().replace('-', '')
            uuid.UUID(test_str)
            return True
        except ValueError:
            return False

# 为了方便直接调用，提供函数式接口
def generate_uppercase_uuid():
    """生成无中横线、大写的UUID"""
    return UUIDUtils.generate_uuid()

def generate_uppercase_uuid_with_prefix(prefix, separator='_'):
    """生成带前缀的无中横线、大写UUID"""
    return UUIDUtils.generate_uuid_with_prefix(prefix, separator)

def validate_uppercase_uuid(uuid_str):
    """验证字符串是否是有效的UUID"""
    return UUIDUtils.validate_uuid(uuid_str)

# 测试代码
if __name__ == "__main__":
    print("无中横线大写UUID:", generate_uppercase_uuid())
    print("带前缀的无中横线大写UUID:", generate_uppercase_uuid_with_prefix("USER"))
    test_uuid = generate_uppercase_uuid()
    print(f"验证UUID '{test_uuid}' 是否有效: {validate_uppercase_uuid(test_uuid)}")
    print(f"验证无效字符串 'INVALID' 是否有效: {validate_uppercase_uuid('INVALID')}")